/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SysAguas.controle;

import SysAguas.dao.DAOQuarto;
import SysAguas.modelo.Quarto;
import SysAguas.modelo.TipoQuarto;
import SysAguas.visao.DialogCadastrarQuartos;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;

/**
 *
 * @author Heitor
 */
public class QuartoCadastrarServico implements ActionListener {

    private DialogCadastrarQuartos cadastrarQuartos = null;

    public QuartoCadastrarServico(DialogCadastrarQuartos cadastrarQuartos) {
        this.cadastrarQuartos = cadastrarQuartos;
    }

    public void actionPerformed(ActionEvent e) {

        if (e.getSource() == this.cadastrarQuartos.getFechar()) {

            this.cadastrarQuartos.dispose();

        }
        if (e.getSource() == this.cadastrarQuartos.getCadastrar()) {

            DAOQuarto daoq = new DAOQuarto();
            Quarto newQuarto = new Quarto();

            if ((this.cadastrarQuartos.getNomeT().getText()).isEmpty()) {

                JOptionPane.showMessageDialog(null, "<HTML>Campo <i>Nome do Quarto</i> Vazio</HTML>", "Erro", JOptionPane.ERROR_MESSAGE);
                return;
            } else {
                newQuarto.setNome(this.cadastrarQuartos.getNomeT().getText());
            }
            if (this.cadastrarQuartos.getCapacidadeT().getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "<HTML>Campo <i>Capacidade</i> Vazio</HTML>", "Erro", JOptionPane.ERROR_MESSAGE);
                return;
            } else {
                newQuarto.setCapacidade(Integer.parseInt(this.cadastrarQuartos.getCapacidadeT().getText()));
            }
            if (this.cadastrarQuartos.getDiariaT().getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "<HTML>Campo <i>Valor da Diaria </i> Vazio</HTML>", "Erro", JOptionPane.ERROR_MESSAGE);
                return;

            } else {
                newQuarto.setValorDiaria(Double.parseDouble(this.cadastrarQuartos.getDiariaT().getText()));
            }
            if(this.cadastrarQuartos.getDescricao().getText().isEmpty()){
                JOptionPane.showMessageDialog(null,"<HTML>Campo <i>Descrição</i> Vazio</HTML>","Erro",JOptionPane.ERROR_MESSAGE);
                return;
            }else{
                newQuarto.setDescricao(this.cadastrarQuartos.getDescricao().getText());
            }
            if(this.cadastrarQuartos.getNumeroT().getText().isEmpty()){
                JOptionPane.showMessageDialog(null,"<HTML>Campo <i>Numedo do Quarto</i> Vazio</HTML>","Erro",JOptionPane.ERROR_MESSAGE);
                return;

            }else{
                String string = this.cadastrarQuartos.getNumeroT().getText();
                Integer aa = Integer.parseInt(string);
                newQuarto.setNumeroQuarto(aa);
                System.out.println(string+" "+newQuarto.getNumeroQuarto()+"\n\n\n\n"+this.cadastrarQuartos.getNumeroT().getText());

                if(daoq.consultaByChave(newQuarto.getNumeroQuarto())!= null){
                    JOptionPane.showMessageDialog(null, "<HTML> Numero de quarto existente:"+newQuarto.getNumeroQuarto()+" <P> " +
                                                        "Entre com um novo numero","Erro",JOptionPane.ERROR_MESSAGE);
                    return;
                }

            }
            newQuarto.setTipoQuarto(TipoQuarto.valueOf(this.cadastrarQuartos.getComboBox().getSelectedItem().toString()));



            daoq.cadastrar(newQuarto);
            JOptionPane.showMessageDialog(null,"Quarto Cadastrado","Cadastrado",JOptionPane.INFORMATION_MESSAGE);

            /*System.out.println(newQuarto.getNome()+" \n"+newQuarto.getDescricao()+"\n" +
            ""+newQuarto.getValorDiaria()+"\n"+newQuarto.getTipoQuarto()+"\n" +
            ""+newQuarto.getNumeroQuarto()+"\n"+newQuarto.getCapacidade());*/

        }
        if (e.getSource() == this.cadastrarQuartos.getLimpar()) {

            this.cadastrarQuartos.getCapacidadeT().setText("");
            this.cadastrarQuartos.getDescricao().setText("");
            this.cadastrarQuartos.getDiariaT().setText("");
            this.cadastrarQuartos.getNomeT().setText("");
            this.cadastrarQuartos.getNumeroT().setText("");

        }
    }
}
